home *** CD-ROM | disk | FTP | other *** search
- *****Listing 2*****
-
- /* test driver for iqsort */
- /* do not use -O2 or higher with Sun C */
-
- #include <stdio.h>
-
- #define NSIZE 1000
- #define IA 171
- #define IC 11213
-
- void iqsort();
-
- main()
- {
- #ifndef __STDC__
- unsigned int fx;
- #else
- unsigned short fx;
- #endif
- unsigned int a[NSIZE], *indx[NSIZE+1];
- unsigned int i, j;
-
- for( i = 0; i < NSIZE; ++i) /* not a serious random number generator */
- a[i] = (fx = fx * IA + IC);
-
- for( i=1; i <= NSIZE / 12; ++i)
- {
- printf("\n");
- for(j = 1; j <= 12; ++j)
- printf("%6u", a[12 * (i - 1) + j - 1]);
- }
-
- iqsort(NSIZE, &a[-1], &indx[-1]); /* expects 1 based arrays */
- printf("\nSorted array:\n");
- for( i=1; i <= NSIZE / 12; ++i)
- {
- printf("\n");
- for(j = 1; j <= 12; ++j)
- printf("%6u", *indx[12 * (i-1) + j - 1]);
- }
- }
-